package work.huangxin.share.service;

import com.github.pagehelper.PageInfo;
import work.huangxin.share.domain.admin.UserBlock;
import work.huangxin.share.domain.admin.dto.UserCountDto;
import work.huangxin.share.domain.other.UserMessage;

import java.util.List;

/**
* @author 钟声浩
* @date 2023/4/4 18:39
*/

public interface AdminUserService {

    /**
     * 分页查询所有用户
     * @param userMessage
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<UserMessage> selectPageUserList(UserMessage userMessage, Integer pageNum, Integer pageSize);


    /**
     * 根据userId查询用户详细信息
     * @param userId
     * @return
     */
    UserMessage getUserDetailByUserId(Integer userId);


    int getNewUserCount();


//    拉黑用户，存进数据库中
    int addBlockUser(UserBlock userBlock);

    //解除对用户的拉黑
    int unlockUser(Integer userId);

    //得到所有拉黑的用户
    List<UserBlock> selectAllBlock();

    //进行事务操作，解除拉黑用户
    void unlockUserAndAllow(Integer userId);

    //进行事务操作，拉黑用户
    void lockUserAndNotAllow(UserBlock userBlock, Integer userId);


    List<UserCountDto> getUserCountByYearAndMonth(Integer year, Integer month);
}
